home *** CD-ROM | disk | FTP | other *** search
/ Aminet 15 / Aminet 15 - Nov 1996.iso / Aminet / comm / mail / YamNet.lha / rexxtra12.lha / rexx / Dump.rexx < prev    next >
OS/2 REXX Batch file  |  1990-03-18  |  2KB  |  64 lines

  1. /* dump.rexx */
  2.  
  3. /*
  4.      Format
  5.  
  6.        DUMP [FILE] <wildcards>
  7.  
  8.    Renames file to file.n.BAK
  9.  
  10. */
  11.  
  12. signal off failure; signal off error; signal on syntax; signal on break_c
  13. options failat 10
  14. call addlib 'rexxextra.library',-20,-30,0
  15.  
  16. facility = 'Dump'
  17. retcode = 0
  18. template = 'FILE/A'
  19. dtemplate = template
  20. args. = ''
  21.  
  22. parse arg g_c
  23. do while g_c='?'
  24.   options prompt dtemplate': '  /* this template is      */
  25.   parse pull g_c        /* displayed to the user */
  26.   if g_c='?' then do
  27.     g_s=sourceline(3)
  28.     if pos('/*',g_s)=0 then break; if pos('*/',g_s)>0 then break
  29.     say
  30.     g_s=sourceline(4)
  31.     do i=5 while pos('*/',g_s)=0; say g_s; g_s=sourceline(i); end
  32.     say
  33.     end
  34.   end
  35. interpret Cparse(g_c,template,'args')
  36. if args.ERRCODE > 1 then do; say facility'-E-BADARGS,' args.ERRTEXT; exit 5; end
  37.  
  38. k = filelist(args.FILE||'(%)','names','F')
  39. do j = 1 to k
  40.   name = names.j
  41.   if ~exists(name) then iterate
  42.   do i = 1 until ~exists(name'.'i'.BAK'); nop; end
  43.   'move 'name name'.'i'.BAK'
  44.   retcode = rc
  45.   if retcode = 0 then
  46.     say facility'-S-DUMPED,' name' dumped as 'name'.'i'.BAK'
  47.   else
  48.     say facility'-E-PROB,' name' could not be dumped.'
  49.   end
  50. exit retcode
  51.  
  52. break_c:
  53. break_d:
  54. break_e:
  55. break_f:
  56.   say facility'-E-BREAK, Control-C interrupt'; retcode = 20; signal GetOut
  57. failure:
  58.   say facility'-E-FAIL, Line:' sigl', Error:' rc; retcode = rc; signal GetOut
  59. syntax:
  60.   say facility'-E-SYNTAX, Line:' sigl', Error:' rc; retcode = rc; signal GetOut
  61. error:
  62.   say facility'-E-ERROR, Line:' sigl', Error:' rc; retcode = rc; signal GetOut
  63.  
  64.